import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.function.Consumer;

/**
 * Date: 2023-04-19
 * Time: 13:42
 */
public class LambdaDemo1 {
    public static void main(String[] args) {
        /*
        * lambda表达式遍历:
        *   default void forEach(Consumer< ? super T> action):
        * */

        // 创建集合,添加元素
        Collection<String> coll = new ArrayList<>();
        coll.add("zhangsan");
        coll.add("lisi");
        coll.add("wangwu");
        coll.add("zhaoliu");


        // 匿名内部类方式
        // foreach 底层原理:
        // 其实也会自己遍历集合,依次得到每一个元素
        // 把得到的每一个元素,交给 accept
        /*
            for(int i = 0; this.modCount == expectedModCount && i < size; ++i) {
                        action.accept(elementAt(es, i));
            }
        * */
        coll.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

        // lambda 表达式
        // ()->{}
        // 形参->方法体
        coll.forEach(s-> System.out.println(s));


    }
}
